Method and system of assisting driving of vehicle

ABSTRACT

A vehicle drive assistance system is provided, which includes one or more processors configured to execute a general driver model learning engine configured to build a general driver model to be applied to a plurality of drivers based on driving data of the drivers, an individual driver model learning engine configured to build an individual driver model unique to a specific driver based on driving data of the driver, and an on-board controller provided in a vehicle operated by the driver. The individual driver model learning engine includes a vehicle control updating program configured to cause the on-board controller to update vehicle control processing based on the general and individual driver models. The vehicle control updating program acquires the driver models and, according to a given condition, determines a driver model based on which the vehicle control processing is updated, between the general and individual driver models.

TECHNICAL FIELD

The present disclosure relates to a method and system of assistingdriving of a vehicle, and particularly to a method and system ofassisting driving of a vehicle by using a driver model.

BACKGROUND OF THE DISCLOSURE

Recently, a driver model is proposed to be used for assisting a vehiclecontrol. For example, JP2009-237937A discloses a driver model processorwhich uses driver models particularly regarding driving operations. Thedriver models include an individual driver model created for aparticular vehicle and an optimal driver model created based on data ofa large number of vehicles by a driver model server disposed outside thevehicle. In this processor, when the individual driver model isdifferent from the optimal driver model, a vehicle driver is givenadvice based on this difference.

Further, learning systems for vehicles are proposed. For example,JP2015-135552A discloses a learning system that transmits data used forimage recognition processing from a vehicle to a learning server, andthe learning server performs learning processing by using this data.Thus, update data of a parameter used for the image recognitionprocessing is generated and the parameter is updated with the updatedata in the vehicle.

In view of securing a suitable vehicle control, it is preferable thatvehicle control processing is consecutively updatable based on learningin an external machine learning system as described in JP2015-135552A.It is particularly preferable if the vehicle control processing isupdatable so as to match with driving characteristics of an individualdriver. However, since an emotional state of the driver is not constant,fixed vehicle control processing is not always suitable for the driverif his/her emotional state changes. However, for example, if anunexpected extreme operation is repeated, because of the vehicle controlprocessing being updated accordingly, negative influences may occur,such as a performance degradation of the vehicle in an early stage andan increase of driver fatigue.

SUMMARY OF THE DISCLOSURE

The present disclosure is made in view of solving the issues describedabove, and aims to provide a method and system of assisting driving of avehicle, in which vehicle control processing is updated more suitablybased on learning in an external machine learning system.

According to one aspect of the present disclosure, a vehicle driveassistance system is provided, which includes one or more processorsconfigured to execute a general driver model learning engine configuredto build a general driver model to be applied to a plurality of vehicledrivers based on driving data of the plurality of drivers, and anindividual driver model learning engine configured to build anindividual driver model unique to a specific vehicle driver based ondriving data of the specific driver, and an on-board controller providedin a vehicle operated by the specific driver and configured to performparticular vehicle control processing. The individual driver modellearning engine includes a vehicle control updating engine configured tocause the on-board controller to update the vehicle control processingbased on the general driver model and the individual driver model. Thevehicle control updating engine acquires the general driver model andthe individual driver model and, according to a given condition,determines a driver model based on which the vehicle control processingis updated, between the general driver model and the individual drivermodel.

With this configuration, a suitable model is selected from the generaldriver model and the individual driver model according to the givencondition, and the vehicle control processing that is performed in thevehicle is updated based on the selected model. The individual drivermodel is built based on the driving data of the specific driver of thevehicle, while on the other hand, the general driver model is builtbased on the driving data of the plurality of drivers. Therefore, byselecting one of the general driver model and the individual drivermodel according to the given condition, the vehicle control processingis updated more suitably.

The vehicle control updating program may determine a difference betweenthe general driver model and the individual driver model, and when thedifference is above a given threshold, the vehicle control processingmay be updated based on the general driver model.

With the configuration, when the difference between the general drivermodel and the individual driver model is above the given threshold,since there is a possibility of the individual driver model beinggenerated due to repetition of the extreme driving operation, thevehicle control processing is updated based on the general driver model.Thus, a risk of a decrease in safety of the vehicle is reduced.

The individual driver model learning engine may include a driver stateanalyzing program configured to analyze a current state of the specificdriver based on the driving data of the specific driver. When the driverstate analyzed by the driver state analyzing unit is not changed to agiven state after the vehicle control processing is updated based on theindividual driver model, the vehicle control updating program may updatethe vehicle control processing based on the general driver model.

With the configuration, although the vehicle control processing isupdated based on the individual driver model, if the driver state is notimproved (e.g., an emotional state is not changed from tensed torelaxed), the vehicle control processing is updated again based on thegeneral driver model.

The vehicle control updating program may prioritize the update of thevehicle control processing based on the individual driver model than theupdate of the vehicle control processing based on the general drivermodel.

Since the individual driver model reflects the characteristics of thespecific driver more than the general driver model, it is preferable toupdate the vehicle control processing according to the individual drivermodel.

According to another aspect of the present disclosure, a method ofassisting driving of a vehicle by a vehicle drive assistance system isprovided. The system includes one or more processors configured toexecute a general driver model learning engine configured to build ageneral driver model to be applied for a plurality of vehicle driversbased on driving data of the plurality of drivers, and an individualdriver model learning engine configured to build an individual drivermodel unique to a specific vehicle driver based on driving data of thespecific driver, and an on-board controller provided in a vehicleoperated by the specific driver and configured to perform particularvehicle control processing. The method includes causing the individualdriver model learning engine to acquire the general driver model fromthe general driver model learning engine, acquire a control parameter ofthe vehicle control processing from the on-board controller, acquirefrom the individual driver model an individual driver model parametercorresponding to the acquired control parameter, acquire from thegeneral driver model a general driver model parameter corresponding tothe acquired control parameter, calculate a difference between theindividual driver model parameter and the general driver modelparameter, calculate an update parameter for the control parameter basedon the individual driver model parameter when the difference is smallerthan a given value, calculate an update parameter for the controlparameter based on the general driver model parameter when thedifference is larger than the given value, and transmit to the on-boardcontroller an instruction for updating the control parameter to theupdate parameter.

According to still another aspect of the present disclosure, a method ofassisting driving of a vehicle by a vehicle drive assistance system isprovided. The system includes one or more processors configured toexecute a general driver model learning engine configured to build ageneral driver model to be applied for a plurality of vehicle driversbased on driving data of the plurality of drivers, and an individualdriver model learning engine configured to build an individual drivermodel unique to a specific vehicle driver based on driving data of thespecific driver, and an on-board controller provided in a vehicleoperated by the specific driver and configured to perform particularvehicle control processing. The method includes causing a driver stateanalyzing program to analyze a current emotional state of the driverbased on the driving data of the specific driver, causing the individualdriver model learning engine to acquire a control parameter of thevehicle control processing from the on-board controller, causing theindividual driver model learning engine to acquire from the individualdriver model an individual driver model parameter corresponding to theacquired control parameter, causing the individual driver model learningengine to calculate an update parameter for the control parameter basedon the individual driver model parameter, causing the individual drivermodel learning engine to transmit to the on-board controller aninstruction for updating the control parameter to the update parameter,causing the on-board controller to update the control parameter to theupdate parameter, causing the driver state analyzing program to analyzethe emotional state of the driver based on the driving data of thespecific driver after the update, causing the individual driver modellearning engine to acquire a general driver model parametercorresponding to the updated control parameter from the general drivermodel when the driver emotional state analyzed by the driver stateanalyzing program is not changed to a given state after the update,causing the individual driver model learning engine to calculate anupdate parameter for the updated control parameter based on the generaldriver model parameter, and causing the individual driver model learningengine to transmit to the on-board controller an instruction forupdating the updated control parameter to the update parametercalculated based on the general driver model parameter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a configuration view of a vehicle drive assistance systemaccording to one embodiment of the present disclosure.

FIG. 2 is a functional block diagram of various components of thevehicle drive assistance system according to the embodiment of thepresent disclosure.

FIG. 3 is a functional block diagram of the inside of a vehicle controlblock in a vehicle according to the embodiment of the presentdisclosure.

FIG. 4 is a diagram of a data flow among a shared server, an individualserver, and an on-board controller according to the embodiment of thepresent disclosure.

FIG. 5 is a diagram of operations of synchronization engines accordingto the embodiment of the present disclosure.

FIG. 6 is a diagram of parameter update processing according to theembodiment of the present disclosure.

FIG. 7 is a diagram of recommending processing according to theembodiment of the present disclosure.

FIG. 8 is a configuration view of a vehicle drive assistance systemaccording to one modification of the embodiment of the presentdisclosure.

DETAILED DESCRIPTION OF THE DISCLOSURE

Hereinafter, a vehicle drive assistance system according to oneembodiment of the present disclosure is described with reference to theaccompanying drawings. First, a configuration of the vehicle driveassistance system is described with reference to FIGS. 1 to 3. FIG. 1 isa configuration view of the vehicle drive assistance system, FIG. 2 is afunctional block diagram of various components of the vehicle driveassistance system, and FIG. 3 is a functional block diagram of theinside of a vehicle control block in a vehicle.

As illustrated in FIG. 1, a vehicle drive assistance system S includes ashared server 1, an individual server 3, and an on-board controller 5(ECU (Electronic Control Unit)) which is disposed in a vehicle A. Theyare communicably connected to each other by a wireless or wiredcommunication line N.

Each of the shared server 1 and the individual server 3 is a computersystem constituting artificial intelligence, and builds andconsecutively updates a general driver model and an individual drivermodel. As used herein, “build” includes developing and training themodel. The shared server 1 includes a computing unit 1 a (processor),memory 1 b, a communication unit 1 c, etc. Similarly, the individualserver 3 includes a computing unit 3 a (processor), memory 3 b, acommunication unit 3 c, etc.

Similarly, the on-board controller 5 includes a computing unit 5 a(processor), memory 5 b, a communication unit 5 c, etc. The on-boardcontroller 5 performs vehicle control processing of the vehicle A. Thevehicle control processing includes drive control processing and driveassistance processing.

As illustrated in FIG. 2, in the shared server 1, a learning engine 11(i.e., a general driver model learning engine executed by the computingunit 1 a) comprised of artificial intelligence learns driving datareceived from a plurality of individual servers 3 and general datareceived from an external information system 7 a (information providingservice center, etc.). Thus, a general driver model Ma is built. Thisgeneral driver model Ma is consecutively updated by learning new drivingdata and general data. The driving data and the general data areaccumulated in the memory 1 b as accumulated data Da.

The general data is, for example, voice data, behavior data, image data,etc. of a human (vehicle driver). The general data is mainly used forbuilding an emotion estimation model constituting a part of the generaldriver model Ma. Note that for updating the general driver model Ma, itis required to learn aggregated data comprised of driving data from theplurality of individual servers 3 and general data from an externalinformation source is required. Therefore, a processing speed (updateinterval) of the general driver model Ma is extremely slow (e.g., 1 houror longer).

The general driver model Ma is applied for a general driver and not aspecific driver who drives the vehicle A. Therefore, it uses drivingdata on a plurality of drivers other than the specific driver andemotion estimation data indicating general human characteristics(general data). The general driver model Ma includes a plurality ofsubmodels. Regarding the theme of each submodel that is given or newlyfound, the learning engine 11 learns a temporal change in the behaviorand state of the general driver from the driving data and general data,and accordingly creates a submodel and updates the general driver modelMa. The submodels include a behavior tendency model, a travelingdetermination reference model, an emotion estimation model, etc. of thedriver for various situations. Further, the general driver model Ma hasgeneral knowledge data. The general knowledge data is various types ofgeneral information acquired from the driving data and the general data,such as a point of caution on a specific location on a road, informationon entertainment/amusement facilities (including restaurant information,etc.).

The following are examples of the submodels of the general driver modelMa: a voice model of various emotions of the general driver (whenfeeling joy, anger, sadness, enjoyment, etc., especially enjoyment); astate model of enjoyment [a relevance model between various states (thedriver, a surrounding environment and the vehicle) and enjoyment]; asubmodel regarding an occurrence of inattentive driving or drowsydriving that is generated based on map data, facial expression data ofthe driver, etc. (e.g., a submodel for identifying a specific location,a state of the driver [e.g., traveling time], etc. in which such drivingeasily occurs); and a driving operation characteristic model generatedbased on travel history data, operation history data, etc. (e.g., aposition of starting an obstacle avoiding action).

In a case where the learning engine 11 builds an operation model of anaccelerator and a brake, by using data on the driver, a travelinglocation, the surrounding environment, a time zone, an acceleratoropening, a brake sensor value, etc. that are included in the drivingdata as a group of data, the learning engine 11 learns how theaccelerator and the brake are operated according to a position, speed,number, etc. of preceding vehicle(s) and pedestrian(s), and creates themodel.

Further, in a case where the learning engine 11 builds a smiledetermination model included in the emotion estimation model, itanalyzes the voice data of the general driver or a general person andimage data related to the voice data, and analyzes features of facialexpression when the general driver feels enjoyment. Thus, the smiledetermination model indicating relevance between a change in a featurepart (an angle of the corner of the mouth, angles of the corners of theeyes, etc.) extracted from the appearance (i.e., facial expression) andthe smile determination model is generated and updated. By using thesmile determination model, whether the driver is smiling (or whetherhe/she is feeling enjoyment) is estimated from the information of thefeature part (the angle of the corner of the mouth, etc.). The featurepart may be a specified part or a part newly detected by the learningengine 11.

Further, the general driver model Ma includes the relevance modelbetween a vehicle state and an emotional state of the driver (emotiongeneration model). The emotional state is analyzed from the driver statedata. The learning engine 11 analyzes a transition of the emotionalstate, analyzes the vehicle state that affects the emotional state (thedriving state: a vehicle speed; a lateral acceleration; a longitudinalacceleration, etc., and an on-board device operation state: an airconditioning temperature; a seat position; and music, etc.), and learnsthe type of the vehicle state that influences the emotional state andthe relevance between the vehicle state and the emotional state. Thevehicle state (control factor) which influences the emotional state maybe set in advance or artificial intelligence may find a new controlfactor by analysis and additionally set it.

The driver state data used for analyzing the emotional state is voicedata, image data, electroencephalogram data, etc. For the emotionalanalysis, for example, a frequency analysis of a sound wave based on aninvoluntary movement of a vocal cord is conducted by analyzing the voicedata (spoken voice). Further, a facial expression analysis based on theimage data and a facial color analysis for a change of the blood floware conducted. Moreover, an analysis on a ratio of a sympathetic nervewith respect to a parasympathetic nerve of an autonomic nervous systemis conducted. By using one or more of these analyzes, for example, theemotional state is identified on, for example, an emotion map indicatingthe various emotions on coordinates or a Russell's circumplex model ofaffect. The learning engine 11 analyzes a change in the emotional state(i.e., a movement on the emotion map or the circumplex model) and achange in the vehicle state.

For example, in a case where the learning engine 11 learns a relevancemodel between the temperature environment and the emotional state, byusing data on the driver, the emotional state, the traveling location,the time zone, an in-vehicle temperature, weather, etc. that areincluded in the driving data as a group of data, the learning engine 11learns an influence of the temperature environment (e.g., a differencebetween the in-vehicle temperature and an outside temperature, theweather, etc.) on the emotional state, and updates the relevance model.

Further, when it is learned that a new control factor that is notincluded in the existing relevance model causes a change in theemotional state (e.g., the driver feels enjoyment due to a combinationof a plurality of items of the vehicle state), a new relevance modelbased on the new control factor is generated. In this manner, thelearning engine 11 builds a model by detecting from the aggregated datathe control factor that influences the emotional state of the driver.

In each individual server 3, a learning engine 31 (i.e., an individualdriver model learning engine executed by the computing unit 3 a)comprised of artificial intelligence learns driving data received fromthe vehicle A (including the voice data), general data acquired from anexternal information system 7 b, and communication data acquired from aportable information terminal device 7 c of the specific driver(telephone voice data, mail text data, device setting information,etc.). Thus, an individual driver model Mb is built. This individualdriver model Mb is also updated consecutively. The individual server 3learns a temporal change or history of the driver behavior, a vehiclebehavior, a vehicle performance, etc., using the driving data, etc.Therefore, a processing speed of the individual driver model Mb isslower than that of various control processes in the vehicle A (e.g., 1sec or longer).

Note that the general data acquired by the individual server 3 is voicedata, behavior data and image data of a plurality of drivers included ina group of drivers who are considered to have a common driving tendency(e.g., a group of drivers having the same type of vehicles). Further,the device setting information is, for example, bookmark information,etc. registered in an Internet browser application of the portableinformation terminal device.

The voice data acquired by a microphone of the vehicle A, although isalso included in driving data acquired via a second synchronizationengine 60 of the on-board controller 5, is directly outputted to theindividual server 3 in real time via a communication device. In theindividual server 3, the voice data is voice-recognized. The drivingdata, the general data, and the voice data are accumulated in the memory3 b as accumulated data Db. Further, a first synchronization engine 40of the individual server 3 performs a data conversion on the accumulateddata which is stored in the memory 3 b, and transmits it to the sharedserver 1.

The individual driver model Mb is applied for the specific driver.Therefore, the driving data of the specific driver who drives thevehicle A and the general data of another driver considered to havedriving characteristics that are relatively close to those of thespecific driver are used. The individual driver model Mb also includes aplurality of submodels similarly to the general driver model Ma.Further, the individual driver model Mb has surrounding environmentstate data and vehicle state data extracted from the acquired drivingdata. The learning engine 31 also builds a plurality of submodelssimilarly to the learning engine 11 (refer to the examples of thesubmodels of the general driver model Ma as examples of the submodels ofthe individual driver model Mb). Moreover, similar to the learningengine 11, the learning engine 31 detects a control factor thatinfluences the emotional state of the driver, updates the model, andbuilds a new model.

The on-board controller 5 performs given vehicle control processing by avehicle control block 51 (e.g., a computing unit) based on sensor dataof vehicle sensors 8. The vehicle control block 51 controls variouson-board devices and systems of the vehicle A on a rule basis by using avehicle control algorithm (vehicle control program) 50 which defines thevehicle control processing. That is, based on the sensor data, variouscontrols are performed according to a given rule, i.e., algorithm(rule-based processing). Therefore, in the vehicle control processing bythe on-board controller 5, a high processing speed is achieved (e.g., 10msecs or less).

The vehicle control processing includes the drive control processing andthe drive assistance processing. The drive assistance processingincludes autonomous drive assistance processing, assistance informationpresentation processing, and on-board device control processing.

In the autonomous drive assistance processing, an instruction signal isoutputted to vehicle control systems 9 d (engine, brake, steering), andthe accelerator, the brake, and the steering device are automaticallyoperated.

In the assistance information presentation processing, various types ofassistance information for assisting the driving operation of the driverare provided via on-board information presentation devices 9 a(navigation device, meter, speaker, etc.), and information is providedto an external information system, an information terminal device, ahome appliance, etc. via information communication devices 9 c (on-boardcommunication unit, portable information terminal device, etc.).

In the on-board device control processing, on-board devices 9 b (airconditioner, window, light, door, etc.) is automatically operated toimprove the driving environment. For example, the temperature settingand on/off of the air conditioner are automatically performed, and thewindow is automatically opened and closed.

The vehicle sensors 8 include an in-vehicle camera, a biological sensor,the microphone, an external camera, a radar, a navigation device, avehicle behavior sensor, a driver operation detection sensor, aninter-vehicle communicator, a vehicle-to-infrastructure communicator, aremote controller, etc.

The in-vehicle camera captures images of the driver and other passengersin the vehicle A, and outputs in-vehicle image data.

The biological sensor measures a heart rate, pulse, sweat,electroencephalogram, etc. of the driver, and outputs biological data.

The microphone collects the voice of the driver and other passengers,and outputs the voice data.

The external camera captures images of the front, left, right, and rearsides of the vehicle A and outputs external image data.

The radar discharges radio waves, sound waves or laser light towards thefront, left, right, and rear sides of the vehicle A, receives reflectionwaves from an object located around the vehicle A (a preceding vehicle,another vehicle, a pedestrian, a fixed object on the ground, anobstacle, etc.), and outputs external object data of a relativeposition, relative speed, etc. of the object (e.g., a position, relativespeed, etc. of the preceding vehicle).

The navigation device acquires the vehicle position information andoutputs navigation data (a plurality of route information, routeinformation selected by the driver, etc.) in combination with internalmap information, and traffic jam information and input information(destination, way point, etc.) acquired externally.

The vehicle behavior sensor and the driver operation detection sensorinclude a speed sensor, a longitudinal acceleration sensor, a lateralacceleration sensor, a yaw rate sensor, an accelerator opening sensor,an engine speed sensor, an AT gear position sensor, a brake switchsensor, a brake hydraulic pressure sensor, a steering angle sensor, asteering torque sensor, a turn signal switch position sensor, a wiperswitch position sensor, a light switch position sensor, in-vehicle andexternal temperature sensors, etc.

The inter-vehicle communicator, the vehicle-to-infrastructurecommunicator, and the remote controller acquire communication data fromother vehicles, traffic data (traffic jam information, limit speedinformation, etc.) from the traffic infrastructure, and remote operationdata obtained externally, and outputs them.

Output data from the vehicle sensors 8 is inputted to the vehiclecontrol block 51 as driving data. Further, the output data is convertedinto driving data indicating various physical quantities that aresuitable for execution of the processing in the vehicle control block 51by a given device (not illustrated) or by a data processing block in theon-board controller 5. The output data is then inputted to the vehiclecontrol block 51. By the data conversion, single output data isconverted into driving data indicating one or more information. The dataconversion also includes not converting the output data.

For example, the external image data of the external camera is convertedinto positional data of a preceding vehicle or a traffic lane, offset(deviation) data from a reference line (the center of the traffic laneor a set route), etc. Further, steering angle data of the steering angelsensor is converted into fluctuation data (data of a wandering steeringangle; fluctuation range, fluctuation cycle, etc.). Moreover, the imagedata of the in-vehicle camera is converted into individualidentification data (a result of a driver authentication based on apre-registered driver image, and individual data for identifying theauthenticated driver), facial expression data for determining a smile ofthe driver (the angle of the corner of the mouth, the angles of thecorners of the eyes, etc.), etc.

The driving data is various data related to the driver, the surroundingenvironment, and the vehicle, and includes driver state data,surrounding environment data, and vehicle state data. Each of these datais comprised of a plurality of data pieces.

The driver state data indicates a physical state of the driver, andincludes the in-vehicle image data (including captured image data of thedriver), the voice data, the biological data (including heart ratedata), etc.

The surrounding environment data indicates conditions of objects outsidethe vehicle, such as the other vehicle, the pedestrian, the obstacle, aroad shape, and a traffic condition around the vehicle A, and includesexternal image data, external object data, navigation data,inter-vehicle data, vehicle-to-infrastructure data, etc.

The vehicle state data indicates a vehicle operation state and operationstates of the on-board devices, and includes measurement data obtainedby the vehicle behavior sensor, driver operation data indicating theswitch positions, etc. of the on-board devices obtained by the driveroperation detection sensor, and individual identification data. Thevehicle state data includes, for example, the vehicle speed, thelongitudinal acceleration, a lateral acceleration, a yaw rate, theaccelerator opening, an engine speed, an AT gear position, a brakeswitch position, a brake hydraulic pressure, a front inter-vehicledistance, a relative speed with respect to the preceding vehicle, thesteering angle, a steering torque, a turn signal switch position, awiper switch position, a light switch position, in-vehicle and externaltemperatures, individual identification information, etc.

The second synchronization engine 60 of the on-board controller 5performs a data conversion of the driving data that is temporarilystored in the memory 5 b, and transmits it to the individual server 3.

As illustrated in FIG. 3, the vehicle control block 51 includes acurrent state analysis block 51 a, an ideal state analysis block 51 b, adifference calculation block 51 c, an entertainment control block 52 a,and a safety control block 52 b.

The driving data is inputted to the current state analysis block 51 aand the ideal state analysis block 51 b. The current state analysisblock 51 a extracts a current driver state, a current device operationstate, a current surrounding environment state, and a current vehiclestate from the driving data. On the other hand, the ideal state analysisblock 51 b calculates an ideal driver state, an ideal device operationstate, an ideal surrounding environment state, an ideal vehicle statefrom the driving data based on the vehicle control model (ideal model)defined by a large number of control parameters P.

The driver state is identified from, for example, heart rate data of thedriver, wandering analysis data, etc. The surrounding environment stateis identified from, for example, camera image data, radar measurementdata, etc. The vehicle state is identified from, for example, lateralacceleration data, engine power data, brake abrasion amount data, etc.

The difference calculation block 51 c calculates a difference betweenthe current state and the ideal state (the driver state, the deviceoperation state, the surrounding environment state, and the vehiclestate) outputted from the current state analysis block 51 a and theideal state analysis block 51 b in terms of various items, and outputsit as difference data.

The entertainment control block 52 a and the safety control block 52 bperforms various processes based on the difference data.

The safety control block 52 b controls safety control processingaccompanied by the operations of the vehicle control systems 9 d andalso controls assistance information presentation processing accompaniedby the operations of the information presentation devices 9 a, theon-board devices 9 b, and the information communication devices 9 c. Onthe other hand, the entertainment control block 52 a controlsentertainment control processing accompanied by the operations of theinformation presentation devices 9 a, the on-board devices 9 b, and theinformation communication devices 9 c, however it does not performcontrol processing accompanied by the operations of the vehicle controlsystems 9 d.

The entertainment control block 52 a and the safety control block 52 boutput operation instructions to the information presentation devices 9a, the on-board devices 9 b, and the information communication devices 9c based on the difference data. Further, the safety control block 52 balso outputs an operation instruction to the vehicle control systems 9d. Note that data transmitted to the external information system 7 b viathe information communication devices 9 c may be accumulated in theinformation system 7 b and further provided to the individual server 3.

For example, a case is considered in which the current state analysisblock 51 a analyzes that the driver is driving the vehicle A at 60 km ina normal state where an awareness level is high, and a curve exists at30 meters ahead. Here, the ideal state analysis block 51 b calculates(estimates) a scheduled traveling route (including a position and speed)for the driver to turn the vehicle at the curve in the current state,based on the ideal model of the vehicle control algorithm 50. Since thecurrent state analysis block 51 a continues to conduct the stateanalysis, the current state analysis block 51 a outputs a travelingroute on which the vehicle A actually traveled, as an analysis result.

The difference calculation block 51 c calculates a difference betweenthe scheduled traveling route obtained by the ideal state analysis block51 b and the actual traveling route obtained by the current stateanalysis block 51 a. Further, for example, the safety control block 52 bdoes not perform particular processing when a scheduled speed and anactual speed are substantially equal, performs processing of issuing abrake operation alarm when the speed difference is small, and performsprocessing of operating an automatic brake when the speed difference islarge.

Further, when an actual steering operation timing is later by over agiven period of time than a steering operation timing defined by thescheduled traveling route, a message prompting to advance the steeringoperation timing is displayed.

Moreover, when an estimated heart rate according to the ideal model ishigher than an actual heart rate by over a given value (estimated to bein an excited state) in a given situation, the entertainment controlblock 52 a performs the processing of displaying a message prompting thedriver to take a break or a message prompting to play music to calm themood of the driver.

Next, the first synchronization engine 40 of the individual server 3 andthe second synchronization engine 60 of the on-board controller 5 aredescribed with reference to FIGS. 4 and 5. FIG. 4 is a diagram of a dataflow among the shared server, the individual server, and the on-boardcontroller, and FIG. 5 is a diagram of operations of the synchronizationengines.

As illustrated in FIG. 4, the on-board controller 5 performsrecognition, determination, and decision of action on a rule basis basedon the driving data (information amount “medium”). Therefore, a targetinformation rate on the on-board controller 5 is high (<10 msecs).Further, when the vehicle control systems 9 d, the on-board devices 9 b,etc. receive an operation instruction from the on-board controller 5(information amount “small”), they operate according to the instructionbased on the decision of action. Therefore, the information rate isextremely high (<1 msec).

On the other hand, the individual server 3 learns and grows based on thedriving data from the on-board controller 5 and the data from theexternal information system 7 b (information amount “large”), etc.Therefore, the information rate on the individual server 3 is low (>1sec). Furthermore, the shared server 1 learns and grows based on thedriving data from the plurality of individual servers 3 and the big datafrom the external information system 7 a, etc. (information amount“extremely large”). Therefore, the information rate on the shared server1 is extremely low (>1 hour). In other words, the handled informationamount is larger on the higher layer than the lower layer, whereas theinformation rate is lower. The shared server 1 is located at the highestlayer and the on-board controller 5 is located at the lowest layer.

Therefore, in this embodiment, an information entropy is equalized sothat data processing is performed smoothly in each layer (that is, theflow of the data processing does not deteriorate in any of the layers).In general, a processing load at each moment (per unit time) isequalized by adjusting the data amount which is processed per unit timein each layer, by having an operation load of the processing performedin each layer (a total number of steps of a processing program) and atarget response time in performing all the processing steps as known.

In this embodiment, the information entropy is defined by “data amountper unit time×processing speed.” The processing speed is defined by “thetotal number of steps of the processing program (the number of allprogram lines)×the target response time.”

Information entropy=data amount×total number of steps×target responsetime

For example, in the on-board controller 5, when the data amount is 10 MB(megabytes), the number of steps is 1,000 lines, and the target responsetime is 10 msecs, the setting in the individual server 3 is 100 kB(kilobytes), 10,000 lines, and 1 sec, and the setting in the sharedserver 1 is 10 B (bytes), 100,000 lines, and 1,000 secs.

Since the data amount of each layer is adjusted in this manner, whentransmitting the driving data from the lower layer to the higher layer,the data conversion of the driving data is performed by the lower-layersynchronization engine so that it becomes easy for the higher layer toprocess the driving data. By this data conversion, the driving data isconverted in terms of amount, quality, and time. The on-board controller5 includes the second synchronization engine 60, and the individualserver 3 includes the first synchronization engine 40.

As illustrated in FIG. 5, the on-board controller 5 consecutivelyreceives the driving data based on the output data of the vehiclesensors 8 and performs the vehicle control processing. On the otherhand, the second synchronization engine 60 performs second dataconversion processing (amount, quality, and time) on the driving data,and transmits the data-converted driving data to the individual server3. The individual server 3 accumulates the received driving data asbehavior history data and state history data of the driver in the memory3 b and uses it for particular processing. Further, the firstsynchronization engine 40 performs first data conversion processing(amount, quality, and time) on the received driving data, and transmitsthe data-converted driving data to the shared server 1. The sharedserver 1 accumulates the received driving data as the behavior historydata and the state history data of the driver in the memory 1 b and usesit for particular processing.

Synchronization request blocks 21 and 41 which are located in higherlayers than the synchronization engines 40 and 60, respectively, issueacquisition request instructions to request for transmission of thedriving data which has a required information attribute, to thesynchronization engines 40 and 60 according to methods requested in theprocessing in the higher layers, respectively. Upon receiving theinstruction, each of the lower-layer synchronization engines performsdata conversion processing corresponding to the requested informationattribute. The lower-layer synchronization engine issues a dataconversion instruction to other data processing blocks (not illustrated)in the same lower layer to convert the data, and outputs thedata-converted driving data to the higher layer. Further, the lowerlayer monitors the higher layer. For example, the synchronizationrequest blocks 21 and 41 output to the first synchronization engine 40and the second synchronization engine 60, the acquisition requestinstructions which define a data amount reduction method, a data pieceassociation and exclusion method (specifying a plurality of datapieces), and a time axis setting method (an extraction method or astatistical processing method).

In the data conversion processing regarding amount, the amount of thedriving data is reduced. For example, data amount reduction processingis performed by an extraction of the feature amount, a conversion of theinformation amount, etc. The first synchronization engine 40 and thesecond synchronization engine 60 perform first data amount reductionprocessing and second data amount reduction processing, respectively.

In the extraction of the feature amount, the data size is reduced toinclude minimum information required in the processing in the higherlayer. For example, the image data is converted into data of the featureamount extracted from the image data (the information of the angle ofthe corner of the mouth, traffic lane, etc.).

In the conversion of the information amount, the driving data isconverted (averaged, time-filtered, etc.) into a summary statisticsamount. For example, a deviation amount (deviation amount data of every10 msecs) from a center line on the road is converted into averagedeviation amount data at an interval of 100 secs. Further, the steeringangle data of every 10 msecs is converted into wandering degreedetermination data in a unit of 5 secs.

The synchronization engines may cause the other processing blocks toperform the extraction of the feature amount and the conversion of theinformation amount.

In the data conversion processing regarding quality, data relevanceconversion processing of converting relevance between the information ofthe plurality of items of the driving data is performed. The firstsynchronization engine 40 and the second synchronization engine 60perform first data relevance conversion processing and second datarelevance conversion processing, respectively.

In the relevance conversion, a plurality of data pieces are selectivelyassociated with each other. For example, the association is performed onthe individual identification data with the heart rate data, time datawith the heart rate data, and position data with the heart rate data.Alternatively, the individual identification data, the heart rate data,the time data, and the position data may be associated into single data.By this association, the associated data is processed as integrated datain processing of a certain purpose. Therefore, the processing amount inthe higher layer is reduced. For example, the angle data of the cornerof the mouth (feature amount data obtained by the data amount reductionprocessing), the voice data, driving operation data, in-vehicleenvironment data (air conditioning, audio, etc.) are associated witheach other for building the smile determination model.

Further in the relevance conversion, specific information is deletedfrom the plurality of associated information. For example, theindividual identification data is excluded. The individual server 3 usescomplex data in which a specific data piece is associated with anotherindividual identification data, while the shared server 1 uses complexdata created by excluding the individual identification data from thecomplex data used by the individual server 3 so as to secure theanonymity of the complex data. Further, in a case where the individualidentification data includes a name, age, sex, address, etc., theexclusion may be targeted only on specific item(s) (e.g., name and sex).

In the data conversion processing regarding time, time axis changeprocessing in which the driving data is processed with respect to a timeaxis is performed. The first synchronization engine 40 and the secondsynchronization engine 60 perform first time axis change processing andsecond time axis change processing, respectively.

In the processing with respect to the time axis (time axis processing),given time variation data is selectively extracted (sampled) on the timeaxis. For example, when the quality of the data is constant, theinformation is thinned out in the time axis direction. Specifically, theheart rate data at an interval of 10 msecs is thinned out to, forexample, heart rate data at an interval of 100 msecs. Further, forexample, when the heart rate data is used to detect arrhythmia, only theheart rate data indicating a significant numeric value (exceeding agiven threshold) is selectively extracted by the time axis processing.Further in this time axis processing, conversion (averaging and timefiltering) of the driving data into summary statistic amounts andconversion into statistical information (e.g., frequency distribution,etc.) are performed by statistical processing. In the time axisprocessing, a selective extraction time interval (constant orinconstant) and a statistical processing time interval on the time axisare set according to update processing time lengths (target responsetime) of the general driver model Ma and the individual driver model Mb.Therefore, an output interval of the driving data, which is a result ofthe time axis processing, becomes longer as the target response time islonger.

Note that although in this embodiment the data amount is adjustedbetween the layers (the shared server 1, the individual server 3, andthe on-board controller 5), without limiting to this, the data amountmay similarly be adjusted between the functional blocks of each layer(e.g., between computers which constitute the learning engine 31, aparameter update engine 32, a recommendation engine 33, a differenceanalysis engine 34, and a result verification engine 35, respectively).

Next, parameter update processing is described with reference to FIG. 6.FIG. 6 is a diagram of the parameter update processing. The individualserver 3 includes the parameter update engine 32.

The parameter update engine 32 acquires the general driver model Ma fromthe shared server 1, acquires from the on-board controller 5 variouscontrol parameters P and the driving data (including the voice data andthe vehicle state data) which define the vehicle control processing, andupdates the control parameters P by referring to the individual drivermodel Mb.

In principle, the parameter update engine 32 determines whether theindividual driver model Mb is updated by the learning engine 31, andaccording to this update, updates the vehicle control algorithm 50related to the updated portion. For example, the control parameters Pincluded in the vehicle control algorithm 50 (including the values andkinds of the control parameters) are changed.

Therefore, the parameter update engine 32 compares the individual drivermodel Mb before the update with the latest individual driver model Mb,and extracts the updated portion. The parameter update engine 32extracts the control parameter(s) P corresponding to the updated portionfrom the various control parameters P acquired from the vehicle A.Further, the parameter update engine 32 acquires a driver modelparameter of the individual driver model Mb corresponding to thiscontrol parameter P.

The acquired driver model parameter and the corresponding controlparameter P are compared with each other (difference analysis). Notethat in a case where the driver model parameter relates to the controlparameter P but does not directly correspond thereto, the driver modelparameter is converted so as to correspond directly to the controlparameter P, and the converted value is compared with the controlparameter P.

As a result of the difference analysis, when the difference exceeds athreshold which is set according to the kind of the control parameter P,the driver model parameter (or the converted value) is set to be anupdate parameter. Further, the parameter update engine 32 determineswhether a given update condition is satisfied. When the update conditionis satisfied, the parameter update engine 32 outputs a control parameterupdate instruction in order to update the control parameter P to theupdate parameter. Upon receiving this control parameter updateinstruction, the on-board controller 5 updates the corresponding controlparameter P to the new update parameter.

In this embodiment, contents and time of the update are defined as thegiven update condition. Regarding the update contents, if the controlparameter P to be updated is of the vehicle control processing regardingtravel safety related to traveling, stopping, and turning (vehicletravel safety control processing), the update is prohibited because thechange may result in causing uncomfortableness to the driver during thedriving operation. The vehicle travel safety control processing isaccompanied by an automatic accelerator control, an automatic brakecontrol, an automatic steering control. For example, the vehicle travelsafety control processing includes danger avoidance control processingfor preventing a collision with an obstacle or a deviation from atraveling road. Furthermore, the wandering determination processing isalso included in the vehicle control processing related to the travelsafety.

On the other hand, if the update contents are updatable, the parameterupdate engine 32 determines the update timing (when the vehicle isstopped or when an ignition switch (IG) is off) based on the drivingdata (vehicle state data), and when an update timing condition issatisfied, transmits the control parameter update instruction. Note thatalthough in this embodiment the parameter update engine 32 determinesthe update condition, the on-board controller 5 may determine the updatecondition upon receiving the control parameter update instruction.

Further, the update timing is defined according to the update contents.The update timing includes immediately (when the individual driver modelMb is updated), when the vehicle is stopped, and when the IG is off. Theupdate timing of the control parameter P which is allowed to be changedwhile traveling is set to “immediately.” Examples of the updatableparameters for “immediately” include a smile determination parameter(the angle of the corner of the mouth) of the smile determinationprocessing, an air conditioner setting temperature, accidentinformation, etc.

Moreover, an update timing of the control parameter which is suitable tobe updated when the vehicle is stopped is set to “when the vehicle isstopped.” Examples of the updatable parameters for “when the vehicle isstopped” include a dead-man determination parameter (e.g., an angle ofthe body of the driver in the driver image data) of dead-mandetermination processing, a vehicle seat position and a mirror angle.

Further, an update timing of the control parameter which is suitable tobe updated when the IG is off is set to “when the IG is off” One exampleof the updatable parameters for “when the IG is off” is general mapinformation.

Moreover, when the updated individual driver model Mb generates a newsubmodel or when the learning engine 31 determines that compared to theexisting submodel, a different submodel is more suitable for particularprocessing and is more effective, a new control parameter P may be addedcorresponding to the submodel. For example, a case is considered inwhich as a result of the learning, the angles of the corners of the eyesare analyzed to be more effective in the driver's smile determinationthan the angle of the corner of the mouth, and a new smile determinationmodel is generated based on the angles of the corners of the eyes. Inthis case, the control parameter P is set instead of or in addition tothe existing submodel which is based on the angle of the corner of themouth. For example, the type of the control parameter P used for a smiledetermination logic in the vehicle control processing which is includedin the vehicle control processing is changed from the angle of thecorner of the mouth to the angles of the corners of the eyes, and thevalue of the control parameter P is changed from an angle threshold ofthe corner of the mouth to an angle threshold of the corners of theeyes.

Further, an example is described in which particular processing(changing the order of traveling route proposals, steering vibration,increasing speaker volume, etc.) is performed in the vehicle controlprocessing when the driver is determined to be feeling drowsy. Thelearning engine 31 builds a submodel which is based on the wanderingangle of the steering as a drowsiness determination model. Therefore, inthe drowsiness determination processing in the vehicle A, the drowsinessis determined to be great when the wandering angle (fluctuation range)of the steering exceeds a determination threshold. When the learningengine 31 learns that the wandering angle of the vehicle A is large evennormally, it updates the submodel, and accordingly the determinationthreshold (the value of the control parameter) is updated to be higher.

On the other hand, when the learning engine 31 learns that a fluctuationcycle is more effective than the wandering angle of the steering indetermining drowsiness, it adds a submodel based on the fluctuationcycle of the wandering angle of the steering as a drowsinessdetermination model. Therefore, in the drowsiness determinationprocessing in the vehicle A, the type of the control parameter ischanged to the fluctuation cycle of the wandering angle and the value ofthe control parameter (determination threshold; fluctuation cycle) isalso changed.

Further, when a drowsiness determination submodel based on image data isadded, correspondingly, the kind of the control parameter in the vehicleA is changed to a certain feature amount of the image data, and thevalue of the control parameter (determination threshold) is alsochanged.

Next, a case where the general driver model Ma is considered in theparameter update processing is described. That is, if the specificdriver of the vehicle A repeats an extreme driving operation differentfrom normal, the individual driver model Mb and the vehicle controlprocessing (control parameters P) may be updated, resulting indecreasing their safety levels. Therefore, when the individual drivermodel Mb greatly deviates from the general driver model Ma, the controlparameters P are updated based on the general driver model Ma for safetysecurity.

The parameter update engine 32 acquires the general driver model Ma andthe control parameters P. Further, when the individual driver model Mbis updated, the updated portion is extracted. Moreover, the controlparameter(s) P corresponding to this updated portion is acquired.Furthermore, an individual driver model parameter of the individualdriver model Mb and a general driver model parameter of the generaldriver model Ma in this updated portion (or corresponding to theacquired control parameter P) are acquired.

Next, the parameter update engine 32 compares the acquired individualdriver model parameter with the acquired general driver model parameter,and calculates a difference therebetween. When the difference is smallerthan a given value, an update parameter for updating the controlparameter P is calculated based on the individual driver modelparameter. On the other hand, when the difference is larger than thegiven value, the update parameter for updating the control parameter Pis calculated based on the general driver model parameter. Thecalculation of the update parameter is similar to the other casedescribed above.

When the update parameter is calculated in this manner, similar to theother case described above, when a given update condition is satisfied,a control parameter update instruction for updating the controlparameter P to the update parameter is outputted.

Next, a case where the update (first update) is conducted in theparameter update processing based on the individual driver model Mb andthen the update result is updated again (second update) based on thegeneral driver model Ma according to a given condition is described.That is, although the control parameter P is updated based on theindividual driver model Mb, because no improvement is seen in thevehicle control processing, the updated control parameter P is updatedagain based on the general driver model Ma.

The given condition for the second update is whether the emotional stateof the driver is improved by the first update. If the emotional state ofthe driver is not improved, the control parameter P is updated again.Therefore, the parameter update engine 32 analyzes the emotional stateof the driver from emotion analysis data of the driver based on thedriving data (voice data).

Note that the emotion analysis may be conducted consecutively by theparameter update engine 32 or may continuously be conducted by anotherfunctional block (driver state analyzing unit) and stored as an emotionanalysis history. Further, the improvement of the emotional state meansthat the emotional state changes from an unpleasant negative emotion(sadness, hatred, anger, anxiety, nervousness, dissatisfaction, etc.) toa pleasant positive emotion (joy, enjoyment, relief, relaxation,satisfaction, etc.).

The parameter update engine 32 acquires the control parameters P.Further, when the individual driver model Mb is updated, the updatedportion is extracted. Moreover, the control parameter(s) P correspondingto this updated portion is extracted. Further, an individual drivermodel parameter of the individual driver model Mb in this updatedportion (or corresponding to the acquired control parameter P) isacquired. Furthermore, an update parameter for updating the controlparameter P is calculated based on the individual driver modelparameter.

When a given update condition is satisfied, a control parameter updateinstruction for updating the control parameter P to the update parameteris outputted. Further, upon receiving this control parameter updateinstruction, the on-board controller 5 updates the corresponding controlparameter P to the new update parameter.

The parameter update engine 32 determines whether the emotional state ofthe driver is improved by the update of the control parameter P which isconducted due to the update of the individual driver model Mb. If theemotional state of the driver is determined as improved, the updateprocessing of the control parameter P is terminated. On the other hand,if the emotional state of the driver is determined as not improved, theparameter update engine 32 acquires a general driver model parameter ofthe general driver model Ma corresponding to the control parameter P.

Furthermore, a new update parameter for updating the control parameter Pis calculated based on the general driver model parameter. When a givenupdate condition is satisfied, a control parameter update instructionfor updating the control parameter P to the new update parameter isoutputted. Further, upon receiving this control parameter updateinstruction, the on-board controller 5 updates the corresponding controlparameter P to the new update parameter.

For example, the submodel of the steering operation timing whentraveling on a curved road is considered. If stress felt by the driver(based on the heart rate, a voice analysis, etc.) when traveling on thecurved road is not reduced after a corresponding control parameter P ofthe vehicle A (a steering operation guidance timing, etc. in the driveassistance) is updated based on the individual driver model Mb, the samecontrol parameter P is updated based on the general driver model Ma.

Next, recommending processing is described with reference to FIG. 7.FIG. 7 is a diagram of the recommending processing. The individualserver 3 has the recommendation engine (vehicle control recommendingunit) 33.

The recommendation engine 33 instructs or suggests the on-boardcontroller 5 to execute the recommending processing by using the generaldriver model Ma acquired from the shared server 1, the driving data(including the voice data) acquired from the vehicle A, and theindividual driver model Mb. The on-board controller 5 performs therecommending processing when a given condition is satisfied.

The recommendation engine 33 has a state analysis block 33 a and arecommendation block 33 b.

The state analysis block 33 a analyzes the driver state, the surroundingenvironment state, and the vehicle state based on the driving data(including the voice data), the general driver model Ma, and theindividual driver model Mb. The analysis includes analyzing a currentstate and analyzing a state of the near future (e.g., 30 minutes later,1 hour later).

The recommendation block 33 b derives and outputs a suitable approach(recommending processing) for the driver based on the analysis output ofthe state analysis block 33 a, the driving data, the general drivermodel Ma, and the individual driver model Mb. Note that since therecommendation engine 33 conducts an advanced state analysis using alarge amount of accumulated data, it operates even while the driver isaway from the vehicle A and suitably derives the recommendingprocessing.

The driver state includes the state of mind, body, and behavior of thedriver. The mind (emotional) state includes an attention state,awareness, emotion, stress level, driving workload, driving motivation,sensation, nervousness, context, etc. The body (physical) state includesfatigue level, health condition, thermal sensation, device viewability,device operability, riding comfort, seating comfort, physicalinformation, etc. The behavior state includes gazed position/target,attention state, gesture, device operation, drivingbehavior/operation/attitude, dialogue, habit, life behavior, behaviorintention, etc.

The mind state (particularly, the emotional state) may directly beanalyzed from the voice data (e.g., the emotion analysis using anendocrine model), the image data of the driver, and the heart rate data,or estimated by using the individual driver model Mb based on otherdriving data (including the captured image data and the heart rate dataof the driver).

The surrounding environment state is an environment around the vehicleA, and includes a traffic/traveling environment, a preliminary graspedrisk (traffic jam, road surface freeze, etc.), a communicationenvironment, etc.

The vehicle state is the traveling state of the vehicle A and includes adriving difficulty level, wandering etc.

As the recommendation control, the recommendation block performs atleast a cabin space recommendation, a traveling route recommendation,and an information presentation recommendation.

The cabin space recommendation is a recommendation control for providinga cabin environment suitable for the driver and includes settingpositions and angles of the seat and the mirror, adjusting the airconditioner, and providing music, a welcoming effect, etc.

The traveling route recommendation is a recommendation control forproviding a traveling route suitable for the driver and includespresenting a recommended route, a pleasant route, a challenging routewith a high driving difficulty level, a danger avoiding route, etc.

The information presentation recommendation includes presenting usefulinformation for the driver and presenting an advanced state estimationresult at a suitable timing in a suitable presentation method. Thepresentation of the useful information for the driver includespresenting information on attraction places on the route (scenery,restaurants, scenic spot, etc.), road traffic/weather/news, attentioncalling (to prevent lost belongings and delay), To Do list, a memorableimage (picture), etc. The presentation of the advanced state estimationresult includes presenting information on an advanced dead-mandetermination and an advanced smile determination.

The recommendation block 33 b derives a suitable recommendation controlusing a basic association table describing relevance between theanalysis state and given recommending processing by the state analysisblock 33 a. Further, this association table may be learned, and updatedby the general driver model Ma and the individual driver model Mb.

In accordance with the recommendation signal, the on-board controller 5outputs instructions to the information presentation devices 9 a, theon-board devices 9 b, the information communication devices 9 c, and thevehicle control systems 9 d. The on-board controller 5 may storeprocessing programs that are performed when the respectiverecommendation signals are received.

In this embodiment, according to the surrounding environment state andthe vehicle state, for example, depending on each driver state (fatiguelevel, emotion, stress, attention state, awareness, etc.) analyzed bythe state analysis block 33 a, the recommendation block 33 b derivessuitable recommending processing that is performable, and outputs therecommendation signal.

For example, the state analysis block 33 a estimates the body state.Here, a case is considered in which the driver is analyzed to be feelingfatigued. In response to this, the recommendation block 33 b selects asuitable recommendation signal from a cabin space recommendation signal,a traveling route recommendation signal, an information presentationrecommendation signal according to the situation, and outputs it.

The cabin space recommendation signal is, for example, a signal forinstructing to activate the air conditioner, reset (lower) the airconditioning temperature, output a given music channel broadcast fromthe speaker, change a music channel, change the seat position and themirror position according to the fatigue level, etc. The traveling routerecommendation signal is, for example, a signal for instructing toprompt a change of the route from a currently set route with a highdifficulty level (e.g., with many curves) to a new route with a lowdifficulty level (with many straight roads), etc. The informationpresentation recommendation signal is a signal for instructing todisplay on the display screen a given message recommending the driver totake a break or reduce a vehicle speed, etc. Further, a suitablerecommendation signal is selected when a given body state or a givenmind (emotional) state are analyzed.

Further, the individual driver model Mb includes a submodel indicating apreference of the driver on the settings of the on-board devices (theair conditioning temperature, the broadcast channel, the seat position,the mirror angle, etc.). For example, in a case where the state analysisblock 33 a analyzes that the settings of the on-board devices aredifferent from the preference of the driver when the driver startsdriving or when the given body state or the given mind (emotional) stateis analyzed, the recommendation block 33 b outputs the cabin spacerecommendation signal for instructing to change the settings to thepreferred settings. In this instruction, the air conditioningtemperature, the broadcast channel, the seat position, the mirror angle,etc. are specified as operation parameter values (preferred settingvalues).

Next, one example of the information presentation recommendation isdescribed. A case is considered in which the state analysis block 33 aanalyzes that the vehicle A approaches a specific location whereinattentive driving or drowsiness is easily induced (surroundingenvironment state) with reference to the individual driver model Mb. Inresponse to this, the recommendation block 33 b outputs a recommendationsignal to perform attention calling processing by voice etc. at aposition which is a given distance before reaching the specific location(at a suitable timing).

Further, when the state analysis block 33 a analyzes that the specificlocation is the location where inattentive driving or drowsiness iseasily induced also to the general driver with reference to the generaldriver model Ma, the recommendation block 33 b outputs a recommendationsignal to perform early attention calling processing at a positionfurther before reaching the specific location (at a suitable timing).

Further, the individual driver model Mb includes a submodel indicatingpreference (food, hobby, sports, etc.) of the driver, which is builtbased on the communication data acquired from the portable informationterminal device 7 c (telephone voice data, mail text data, devicesetting information, etc.). For example, in the submodel of “food,” thekinds of favorite cuisines (Japanese cuisine, French cuisine, Italiancuisine, etc.) are ranked based on bookmarks etc. which are devicesetting information.

When the state analysis block 33 a analyzes that an estimated time atwhich the driver starts to feel hungry, the recommendation block 33 boutputs a recommendation signal for displaying restaurant information onthe type of favorite cuisine (the type of cuisine and a restaurant name)on a navigation map according to the estimated time (at a suitabletiming) based on the submodel. Note that without limiting to a hungerlevel, the recommendation signal may be selected when a given body stateis analyzed or when a given mind (emotional) state is analyzed.

Next, one example of the traveling route recommendation is described.The state analysis block 33 a estimates the emotional state or the bodystate of the driver from the driving data with reference to theindividual driver model Mb and the general driver model Ma. Here, a caseis considered in which the enjoyment that the driver feels is estimatedto be low (or predicted that he/she will feel bored within one hour dueto a decrease of the driving motivation).

Upon receiving the analysis output indicating this estimation(prediction), the recommendation block 33 b derives the recommendingprocessing for causing the driver to feel enjoyment (or not to feelbored). For example, based on the individual driver model Mb and thegeneral driver model Ma, a particular location registered as a locationwhere the general driver or the driver of the vehicle A feels enjoyment(a road on a coastline, a viewing spot, etc.) is searched within a givendistance range from a current position, and a recommendation signalprompting a change in the route so that this particular location isincluded as a waypoint is outputted. Upon receiving this recommendationsignal, the on-board controller 5 inputs the waypoint included in therecommendation signal to the navigation device. Therefore, by thenavigation device performing a new route calculation, a new recommendedroute is displayed on the display screen.

Further, when the state analysis block 33 a predicts the road surfacefreeze from an outdoor air temperature, weather, etc., therecommendation block 33 b outputs a recommendation signal forinstructing to set a route avoiding a location where the road surfacefreeze is predicted.

The on-board controller 5 has a recommendation determination block 53configured to determine whether to perform the recommending processingbased on the recommendation signal. The recommendation determinationblock 53 allows the performance of the recommending processing when itis the entertainment control processing, and denies performance of therecommending processing when it is the safety control processing. In theon-board controller 5, when the performance of the processing is allowedby the recommendation determination block 53, the entertainment controlblock 52 a performs the recommending processing according to therecommendation signal.

Note that in this embodiment, whether to perform the recommendingprocessing is determined depending on whether the recommendingprocessing is the entertainment control processing or the safety controlprocessing. However, without limiting to this, if there is a possibilityof the vehicle operation being unsafe, performance of the recommendingprocessing may be denied also when the recommending processing is theentertainment control processing. For example, if the recommendingprocessing is processing of retarding an alarm issuing timing for when abrake operation timing is delayed, the performance of the processing isdenied since the unsafety level increases, whereas if the recommendingprocessing is processing of advancing the alarm issuing timing, theperformance is allowed since the safety level increases.

Moreover, the recommendation determination block 53 denies theperformance of the recommending processing also when the recommendingprocessing contradicts or invalidates the vehicle control processing bythe on-board controller 5. For example, when the processing of advancingthe alarm issuing timing for the brake operation delay is performed inthe vehicle control processing due to the weather (when the weather israiny or visibility is low), the recommending processing is denied if itretards the alarm issuing timing. This is because the recommendingprocessing contradicts or invalidates the vehicle control processingperformed due to the weather. On the other hand, the recommendingprocessing is allowed if it advances the alarm issuing timing since suchcontradiction or invalidation does not occur.

Next, complement processing of the individual driver model with thegeneral driver model is described. Since the traveling of the vehicle Ais limited to be within a specific region or by a specific travelingoperation, the amount of the reference data (driving data and generaldata) used for the individual driver model Mb is significantly smallerthan the reference data used for the general driver model Ma. Therefore,the individual driver model Mb and the general driver model Ma have adifference from each other according to such difference in the dataamount.

A comparison block (not illustrated) of the recommendation engine 33acquires the individual driver model Mb and the general driver model Ma,and performs comparison processing. By this comparison processing, asubmodel, general knowledge, etc. which exist in the general drivermodel Ma but not in the individual driver model Mb are extracted. Theextracted difference data (the submodel, the general knowledge, etc.) isstored as accumulated data via the result verification engine 35 andlearned by the learning engine 31. Thus, the submodel, generalknowledge, etc. which are adaptable to the vehicle A are added to theindividual driver model Mb.

Next, verification processing of the recommendation instruction isdescribed with reference to FIG. 2. The individual server 3 alsoincludes an ideal driver model Mi, the difference analysis engine 34,and the result verification engine 35.

The ideal driver model Mi is created based on a driving operation of anexpert driver and is a model of an ideal state where the driver feelsenjoyment while focusing on the driving operation in a state where thedriving skill of the driver and the traveling difficulty level are wellbalanced.

The difference analysis engine 34 compares the driver state in the idealdriver model Mi with an actual driver state analyzed based on the voicedata of the driver.

The result verification engine 35 analyzes the difference data from thedifference analysis engine 34 to verify an influence on the driver statewhich is caused by the recommending processing performed based on therecommendation signal, and accumulates the verification result in thememory 3 b. The verification result is an evaluation on a reductionamount of the difference (a shifted amount toward the ideal state) or anincrease amount of the difference (a shifted amount away from the idealstate) by performing the recommending processing. By the learning engine31 learning this verification result, the individual driver model Mb isupdated to be more suitable for the specific driver.

Next, a vehicle drive assistance system according to one modification isdescribed with reference to FIG. 8. FIG. 8 is a configuration view ofthe vehicle drive assistance system of the modification.

Different from the vehicle drive assistance system S described above, ina vehicle drive assistance system S2 of this modification, theindividual server 3 is mounted on the vehicle A. That is, the on-boardcontroller 5 and the individual server 3 are communicably mounted on thevehicle A. The data flow is similar to that of the vehicle driveassistance system S.

In this vehicle drive assistance system S2, the on-board controller 5and the individual server 3 are connected in a state where they areseparated by a gateway having a security function. Therefore, theon-board controller 5 and the individual server 3 are configured asseparate units.

In a case where the on-board controller 5 and the individual server 3are configured as an integrated unit, calculation performance maytemporarily become insufficient due to the learning processing of theindividual driver model which requires advanced processing, and thevehicle control processing may delay. However, in this modification,since the on-board controller 5 and the individual server 3 areconfigured as separate units, the on-board controller 5 only needs toperform the vehicle control processing similarly to the aboveembodiment, therefore the vehicle control processing does not delay.

Further, the artificial intelligence technology is currently in adeveloping stage and the progression speed is high. Therefore, in thismodification, the separately-configured individual server 3 is easilyupdatable to a higher performance server.

Next, effects of the vehicle drive assistance system of this embodimentare described.

The vehicle drive assistance system of this embodiment includes theshared server 1 (executing the general driver model learning engine)configured to build the general driver model Ma to be applied for aplurality of vehicle drivers based on the driving data of the pluralityof drivers, the individual server 3 (executing the individual drivermodel learning engine) configured to build the individual driver modelMb unique to the specific driver based on the driving data of thespecific driver, and the on-board controller 5 provided in the vehicle Aof the driver and configured to perform particular vehicle controlprocessing. The individual server 3 includes the parameter update engine32 (executing the vehicle control updating program) configured to causethe on-board controller 5 to update the vehicle control processing basedon the general driver model Ma and the individual driver model Mb. Theparameter update engine 32 acquires the general driver model Ma and theindividual driver model Mb and, according to a given condition,determines a driver model based on which the vehicle control processingis updated, between the general driver model Ma and the individualdriver model Mb.

In this embodiment, a suitable model is selected from the general drivermodel Ma and the individual driver model Mb according to the givencondition, and the vehicle control processing which is performed in thevehicle A is updated based on the selected model. The individual drivermodel Mb is built based on the driving data of the vehicle A, on theother hand, the general driver model Ma is built based on the drivingdata of the plurality of drivers. Therefore, by selecting one of thegeneral driver model Ma and the individual driver model Mb according tothe suitable condition, the vehicle control processing is updated moresuitably.

Further, in this embodiment, the parameter update engine 32 determines adifference between the general driver model Ma and the individual drivermodel Mb, and when the difference is above a given threshold, thevehicle control processing is updated based on the general driver modelMa. This is because, when the difference is above the given threshold,there is a possibility of the individual driver model Mb being generateddue to the repeated extreme driving operation. Thus, a risk of safetydecrease of the vehicle A is reduced.

Further, in this embodiment, the individual server 3 includes the driverstate analyzing program (parameter update engine 32) configured toanalyze the current state of the driver based on the driving data of thespecific driver. When the driver state analyzed by the driver stateanalyzing unit is not changed to a given improved state after thevehicle control processing is updated based on the individual drivermodel Mb, the parameter update engine 32 updates the vehicle controlprocessing based on the general driver model Ma. In this embodiment,although the vehicle control processing is updated based on theindividual driver model Mb, if the driver state is not improved (e.g.,the emotional state is not changed from tensed to relaxed), the vehiclecontrol processing is updated again based on the general driver modelMa.

Further, in this embodiment, the parameter update engine 32 prioritizesthe update of the vehicle control processing based on the individualdriver model Mb than the update of the vehicle control processing basedon the general driver model Ma. This is because, since the individualdriver model Mb reflects the characteristics of the specific driver morethan the general driver model Ma, the vehicle control processing ispreferable to be updated according to the individual driver model Mb.

Moreover, in this embodiment, the method of assisting driving of thevehicle by the vehicle drive assistance system is provided. The vehicledrive assistance system includes the shared server 1 (executing thegeneral driver model learning engine) configured to build the generaldriver model Ma configured to be applied for a plurality of driversbased on the driving data of the plurality of drivers, the individualserver 3 (executing the individual driver model learning engine)configured to build the individual driver model Mb unique to thespecific driver based on the driving data of the driver, and theon-board controller 5 provided in the vehicle A of the specific driverand configured to perform particular vehicle control processing. Themethod includes causing the individual server 3 to acquire the generaldriver model Ma from the shared server 1, causing the individual server3 to acquire the control parameter P of the vehicle control processingfrom the on-board controller 5, causing the individual server 3 toacquire the individual driver model parameter corresponding to theacquired control parameter P from the individual driver model Mb,causing the individual server 3 to acquire the general driver modelparameter corresponding to the acquired control parameter P from thegeneral driver model Ma, causing the individual server 3 to calculatethe difference between the individual driver model parameter and thegeneral driver model parameter, causing the individual server 3 tocalculate the update parameter for the control parameter P based on theindividual driver model parameter when the difference is smaller thanthe given value, causing the individual server 3 to calculate the updateparameter for the control parameter P based on the general driver modelparameter when the difference is larger than the given value, andcausing the individual server 3 to transmit to the on-board controller 5the instruction for updating the control parameter P to the updateparameter.

Moreover, in this embodiment, the method of assisting driving of thevehicle by the vehicle drive assistance system is provided. The vehicledrive assistance system includes the shared server 1 (executing thegeneral driver model learning engine) configured to build the generaldriver model Ma configured to be applied for a plurality of driversbased on the driving data of the plurality of drivers, the individualserver 3 (executing the individual driver model learning engine)configured to build the individual driver model Mb unique to thespecific driver based on the driving data of the driver, and theon-board controller 5 provided in the vehicle A of the specific driverand configured to perform particular vehicle control processing. Themethod includes causing the driver state analyzing unit to analyze thecurrent emotional state of the driver based on the driving data of thespecific driver, causing the individual server 3 to acquire the controlparameter P of the vehicle control processing from the on-boardcontroller 5, causing the individual server 3 to acquire the individualdriver model parameter corresponding to the acquired control parameter Pfrom the individual driver model Mb, causing the individual server 3 tocalculate the update parameter for the control parameter P based on theindividual driver model parameter, causing the individual server 3 totransmit to the on-board controller 5 the instruction for updating thecontrol parameter P to the update parameter, causing the on-boardcontroller 5 to update the control parameter P to the update parameter,causing the driver state analyzing unit to analyze the emotional stateof the driver based on the driving data of the specific driver after theupdate, causing the individual server 3 to acquire the general drivermodel parameter corresponding to the updated control parameter from thegeneral driver model Ma when the driver state analyzed by the driverstate analyzing unit is not changed to the given state after the update,causing the individual server 3 to calculate the update parameter forthe updated control parameter P based on the general driver modelparameter, and causing the individual server 3 to transmit to theon-board controller 5 the instruction for updating the updated controlparameter P to the update parameter calculated based on the generaldriver model parameter.

It should be understood that the embodiments herein are illustrative andnot restrictive, since the scope of the invention is defined by theappended claims rather than by the description preceding them, and allchanges that fall within metes and bounds of the claims, or equivalenceof such metes and bounds thereof, are therefore intended to be embracedby the claims.

DESCRIPTION OF REFERENCE CHARACTERS

1 Shared Server

3 Individual Server

5 On-board Controller

8 Vehicle Sensor

9 a Information Presentation Device

9 b On-board Device

9 c Information Communication Device

9 d Vehicle Control System

11, 31 Learning Engine

32 Parameter Update Engine

33 Recommendation Engine

33 a State Analysis Block

33 b Recommendation Block

34 Difference Analysis Engine

35 Result Verification Engine

40 First Synchronization Engine

51 Vehicle Control Block

51 a Current State Analysis Block

51 b Ideal State Analysis Block

51 c Difference Calculation Block

52 a Entertainment Control Block

52 b Safety Control Block

53 Recommendation Determination Block

60 Second Synchronization Engine

A Vehicle

Da, Db Accumulated Data

Ma General Driver Model

Mb Individual Driver Model

Mi Ideal Driver Model

P Control Parameter

S, S2 Vehicle Drive Assistance System

What is claimed is:
 1. A vehicle drive assistance system, comprising oneor more processors configured to execute: a general driver modellearning engine configured to build a general driver model to be appliedto a plurality of vehicle drivers based on driving data of the pluralityof drivers; and an individual driver model learning engine configured tobuild an individual driver model unique to a specific vehicle driverbased on driving data of the specific driver; and an on-board controllerprovided in a vehicle operated by the specific driver and configured toperform a particular vehicle control processing, wherein the individualdriver model learning engine includes a vehicle control updating programconfigured to cause the on-board controller to update the vehiclecontrol processing based on the general driver model and the individualdriver model, and wherein the vehicle control updating program acquiresthe general driver model and the individual driver model and, accordingto a given condition, determines a driver model based on which thevehicle control processing is updated, between the general driver modeland the individual driver model.
 2. The vehicle drive assistance systemof claim 1, wherein the vehicle control updating program determines adifference between the general driver model and the individual drivermodel, and when the difference is above a given threshold, the vehiclecontrol processing is updated based on the general driver model.
 3. Thevehicle drive assistance system of claim 1, wherein the individualdriver model learning engine includes a driver state analyzing programconfigured to analyze a current state of the specific driver based onthe driving data of the specific driver, and when the driver stateanalyzed by the driver state analyzing program is not changed to a givenstate after the vehicle control processing is updated based on theindividual driver model, the vehicle control updating program updatesthe vehicle control processing based on the general driver model.
 4. Thevehicle drive assistance system of claim 1, wherein the vehicle controlupdating program prioritizes the update of the vehicle controlprocessing based on the individual driver model than the update of thevehicle control processing based on the general driver model.
 5. Amethod of assisting driving of a vehicle by a vehicle drive assistancesystem including one or more processors configured to execute a generaldriver model learning engine configured to build a general driver modelto be applied for a plurality of vehicle drivers based on driving dataof the plurality of drivers, and an individual driver model learningengine configured to learn an individual driver model unique to aspecific vehicle driver based on driving data of the specific driver,and an on-board controller provided in a vehicle operated by thespecific driver and configured to program particular vehicle controlprocessing, the method comprising causing the individual driver modellearning engine to: acquire the general driver model from the generaldriver model learning engine; acquire a control parameter of the vehiclecontrol processing from the on-board controller; acquire from theindividual driver model an individual driver model parametercorresponding to the acquired control parameter; acquire from thegeneral driver model a general driver model parameter corresponding tothe acquired control parameter; calculate a difference between theindividual driver model parameter and the general driver modelparameter; calculate an update parameter for the control parameter basedon the individual driver model parameter when the difference is smallerthan a given value; calculate an update parameter for the controlparameter based on the general driver model parameter when thedifference is larger than the given value; and transmit to the on-boardcontroller an instruction for updating the control parameter to theupdate parameter.
 6. A method of assisting driving of a vehicle by avehicle drive assistance system including one or more processorsconfigured to execute a general driver model learning engine configuredto build a general driver model to be applied for a plurality of vehicledrivers based on driving data of the plurality of drivers, and anindividual driver model learning engine configured to build anindividual driver model unique to a specific vehicle driver based ondriving data of the specific driver, and an on-board controller providedin a vehicle operated by the specific driver and configured to execute aparticular vehicle control processing, the method comprising: causing adriver state analyzing program to analyze a current emotional state ofthe driver based on the driving data of the specific driver; causing theindividual driver model learning engine to acquire a control parameterof the vehicle control processing from the on-board controller; causingthe individual driver model learning engine to acquire from theindividual driver model an individual driver model parametercorresponding to the acquired control parameter; causing the individualdriver model learning engine to calculate an update parameter for thecontrol parameter based on the individual driver model parameter;causing the individual driver model learning engine to transmit to theon-board controller an instruction for updating the control parameter tothe update parameter; causing the on-board controller to update thecontrol parameter to the update parameter; causing the driver stateanalyzing unit to analyze the emotional state of the driver based on thedriving data of the specific driver after the update; causing theindividual driver model learning engine to acquire a general drivermodel parameter corresponding to the updated control parameter from thegeneral driver model when the driver emotional state analyzed by thedriver state analyzing program is not changed to a given state after theupdate; causing the individual driver model learning engine to calculatean update parameter for the updated control parameter based on thegeneral driver model parameter; and causing the individual driver modellearning engine to transmit to the on-board controller an instructionfor updating the updated control parameter to the update parametercalculated based on the general driver model parameter.